package com.qf.springboottest.service;

import com.qf.springboottest.entity.User;
import com.qf.springboottest.ex.UserException;
import com.qf.springboottest.vo.UserRegistVo;
import org.springframework.stereotype.Repository;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;

@Repository
public interface UserService {

    /**
     * 根据id删除用户信息
     * */
    static void delUserByIds(String[] ids) {
    }


    /**
     * 全量导出用户表的数据,生成一个csv文件
     * */
    String export();


    /**
     * 用户登录功能,判断用户名和密码是否正确
     * 返回的user对象不为空，代表登录成功；如果user为空，代表登录失败
     * */
    User login(String username, String password);


    /**
     * 注册用户
     * 1.需要把 userRegistVo 中的用户的头像文件保存到指定目录
     * 2.把用户信息传入数据库(落库)
     * */
    void registUser(UserRegistVo userRegistVo) throws IOException, UserException, UserException;


    /**
     * 新增用户
     * */
    void addUser(User user) throws UserException;


    /**
     * 根据id修改用户信息
     * */
    void updateUserById(User user) throws UserException;


    /**
     * 根据上传的csv文件,批量导入用户数据
     * */
    void importUsers(MultipartFile file) throws IOException;
}
